package com.neusoft.elmboot.service;

import com.neusoft.elmboot.po.UserCoupon;

import java.util.List;

public interface UserCouponService {
	
	/**
	 * 创建优惠券（兑换时调用）
	 */
	UserCoupon createCoupon(String userId, Integer itemId, String couponName, Double discountAmount, Double minimumAmount, int validDays);
	
	/**
	 * 获取用户可用优惠券列表
	 */
	List<UserCoupon> getAvailableCoupons(String userId);
	
	/**
	 * 获取用户所有优惠券
	 */
	List<UserCoupon> getUserCoupons(String userId);
	
	/**
	 * 获取优惠券详情
	 */
	UserCoupon getCouponById(Integer couponId);
	
	/**
	 * 使用优惠券
	 */
	boolean useCoupon(Integer couponId, Integer orderId);
	
	/**
	 * 检查优惠券是否有效
	 */
	boolean validateCoupon(Integer couponId, Double orderAmount);
	
	/**
	 * 更新过期优惠券状态
	 */
	void updateExpiredCoupons();
}
